/* 
 * Copyright (c) 2004-2005 Massachusetts Institute of Technology. This code was
 * developed as part of the Haystack (http://haystack.lcs.mit.edu/) research 
 * project at MIT. Permission is hereby granted, free of charge, to any person
 * obtaining a copy of this software and associated documentation files (the 
 * "Software"), to deal in the Software without restriction, including without 
 * limitation the rights to use, copy, modify, merge, publish, distribute, 
 * sublicense, and/or sell copies of the Software, and to permit persons to whom
 * the Software is furnished to do so, subject to the following conditions: 
 * 
 * The above copyright notice and this permission notice shall be included in 
 * all copies or substantial portions of the Software. 
 * 
 * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR 
 * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, 
 * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE 
 * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER  
 * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, 
 * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
 * SOFTWARE. 
 */
/*
 * Created on Jun 12, 2004
 *
 */
package edu.mit.csail.relo.modelBridge;

import java.util.Collections;
import java.util.List;

import org.openrdf.model.URI;

import edu.mit.csail.relo.store.ReloRdfRepository;

/**
 * @author vineet
 * 
 * This is the Root Model, since our Models are really RDF Factilitators this
 * class becomes a collection of RDF Statements, lets call it a document.
 */
public class ReloDoc {
    
    public static class DocPath {
        // src, dst should really be resources, but we allow them to be converted later on
        public Object src;
        public URI rel;
        public Object dst;
        public DocPath(Object src, URI rel, Object dst) {
            this.src = src;
            this.rel = rel;
            this.dst = dst;
        }
    };

	//IWorkspace wkspc = null;

	public ReloDoc() {
		//wkspc = ReloPlugin.getWorkspace();
	}


	// collection of Artifacts or type that browse model can convert to Artifacts
	List currItems = Collections.EMPTY_LIST;

	public void setItems(List lst) {
		currItems = lst;
	}

	public List getItems() {
		return currItems;
	}


	public String getName() {
		return "{ReloDoc}";
	}

    private ReloRdfRepository RDFDoc = null;
    
    /**
     * @param rdfRepo
     */
    public void setRDFDoc(ReloRdfRepository rdfRepo) {
        this.RDFDoc = rdfRepo;
    }

    /**
     * @return Returns the rDFDoc.
     */
    public ReloRdfRepository getRDFDoc() {
        return RDFDoc;
    }
}
